/** * */ package com.springsource.samples.restlist.web; import java.io.IOException; import org.codehaus.jackson.map.ObjectMapper; import org.springframework.http.HttpInputMessage; import org.springframework.http.HttpOutputMessage; import org.springframework.http.MediaType; import org.springframework.http.converter.AbstractHttpMessageConverter; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotWritableException; import com.springsource.samples.restlist.Bookmark; public final class BookmarkHttpMessageConverter extends AbstractHttpMessageConverter<Bookmark> { public BookmarkHttpMessageConverter() { super(new MediaType("application", "json")); } @Override protected Bookmark readInternal(Class<Bookmark> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { ObjectMapper mapper = new ObjectMapper(); return mapper.readValue(inputMessage.getBody(), Bookmark.class); } @Override protected void writeInternal(Bookmark t, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { ObjectMapper mapper = new ObjectMapper(); mapper.writeValue(outputMessage.getBody(), t); } public boolean supports(Class<? extends Bookmark> clazz) { return Bookmark.class.equals(clazz); } }